function printout_q1_q2(CONSTS, plot_data)
    
    k0 = CONSTS.k0;
    a = CONSTS.a;
    period = pi/(k0*a);
    dots_per_period = 100;
    num_periods = 30;
    p_vec = (1.0 : period/dots_per_period : num_periods*period)';
    y1 = func_q1_from_p(p_vec, CONSTS);
    y2 = func_q2_from_p(p_vec, CONSTS);
    for i = 1:size(p_vec, 1)
        fprintf('p=%d    %e + %ei    %e + %ei \n', p_vec(i), ...
                         real(y1(i)), imag(y1(i)), real(y2(i)), imag(y2(i)));
    end
    
    if (plot_data)
    figure; plot(p_vec, real(y1), 'bo-', p_vec, real(y2), 'r.-'); title('real(q1 & q2)');
             xlabel('p'); ylabel('q_1, q_2'); legend('q_1','q_2', 'location', 'SouthEast');
    figure; plot(p_vec, imag(y1), 'b.-', p_vec, imag(y2), 'r.-'); title('imag(q1 & q2)');
             xlabel('p'); ylabel('q_1, q_2'); legend('q_1','q_2', 'location', 'SouthEast');
    end

end